package com.tn.openrpc
{
	import mx.rpc.AsyncToken;

	/**
	 * A <code>RemoteMethod</code> represents a method in another process.
	 */
	public interface IRemoteMethod
	{
		/**
		 * Invokes the remote method.
		 *
		 * @param args the arguments used for the method call.
		 *
		 * @return the result of the method call.
		 *
		 * @throws ArgumentError     if the arguments do not match those expected by the method.
		 * @throws RemoteMethodError if an error occurs invoking this remote method.
		 */
		function invoke(... args):AsyncToken;
	}
}
